linux challenges